VictoriaMetrics入门与实战 | 您所在的位置:网站首页 › victoria falls怎么读 › VictoriaMetrics入门与实战 |
01 简介 VictoriaMetrics,是一个快速高效、经济并且可扩展的监控解决方案和时序数据库。 谈到VictoriaMetrics就必须要提到Prometheus,VictoriaMetrics是一个新兴的监控解决方案。它借助Prometheus强大的exporter生态、成熟的规范、服务发现等优点等,融入到Prometheus生态中。VictoriaMetrics官网很多兼容Prometheus参数解释都是直接跳转到Prometheus官网。 VictoriaMetrics可以作为Prometheus的长期远程存储方案,当然VictoriaMetrics也可以完全取代Prometheus,因为VictoriaMetrics基本支持Prometheus配置文件、PromQL、各类API、数据格式等等。 作为一款新兴TSDB,参考DB-Engines的TSDB排行,最近两年VictoriaMetrics热度很高:
1.1 VM优点 远程存储:可作为单一或多个Prometheus的远程存储 安装简单:单节点架构一条命令就可以部署完毕(集群方式稍微复杂一些,但也很好理解) 兼容性:PromQL兼容和增强的MetricsQL Grafana兼容:VM可替换Grafana的Prometheus数据源(经测试,线上数据源直接替换后100%兼容) 低内存:更低的内存占用,官方对比Prometheus,可以释放7倍左右内存空间(线上对比大概4倍) 高压缩比:提供存储数据高压缩,官方说可以比Prometheus减少7倍的存储空间(线上对比大概是4~5倍) 高性能:查询性能比Prometheus更快 支持水平扩容&HA:基于VM集群版实现 支持多租户:主要针对集群版 1.2 VM缺点 图形化做的不好,虽然有vmui,但功能很少 告警功能需要单独配置vmalert,而且vmalert只有api管理和查看,暂时没用图形界面 没有类似Prometheus的WAL日志,突然故障可能会丢失部分数据 1.3 VM分类 VM分为,单节点(single-node)版和集群(cluster)版,两套方案,根据业务需求选择即可。 单节点版:直接运行一个二进制文件,既可以运行,官方建议采集数据点(data points)低于100w/s,推荐VM单节点版,简单好维护,但不支持告警。 集群版:支持数据水平拆分,把功能拆分为vmstorage、 vminsert、vmselect,如果要替换Prometheus,还需要vmagent、vmalert。 1.4 官方网址 官网:https://victoriametrics.com 官方文档:https://docs.victoriametrics.com GitHub:https://github.com/VictoriaMetrics/VictoriaMetrics 1.5 部分名词解释 1)关于样本: 在时间序列(time-series)中的每一个点称为一个样本(sample),样本(sample)由以下三部分组成: 指标(metric):指标名和一组描述当前样本特征的labelsets唯一标识 时间戳(timestamp):一个精确的时间戳,一般由采集时间决定(VM为秒,Prometheus为毫秒) 样本值(value):当前样本的值 2)关于target: 每一个监控目标称为一个target,如:单个node-exporter、mysqld-exporter等等。 02 案例 下面列出部分官方案例,主要针对写和查,以供参考。 使用方 VM版本 写入数据点量 总数据量 99%查询耗时 Synthesio 单节点版 55万/秒 1.25万亿 147ms Wix.com 单节点版 110万/秒 8.5万亿 1seconds German 单节点版 2.4万/秒 1600亿 6.5ms Wedos.com 集群版 17万/秒 未提供 50ms 综上,VM单节点版,和官方说的每秒抓取100w左右的数据点(data point也可以简单理解为1个样本)问题不大,如果单个target的样本数是1000个左右,那每秒VM就可以抓取100w/1000,预估一下,VM单节点版可以实现,大概1000个target/s 的抓取量。可根据自己的业务量,简单评估一下VM单节点是否适合自己的业务。 另外,DBA们比较熟悉的PMM(Percona Monitoring and Management )监控套件,在2.12版本开始也用VictoriaMetrics替换掉了Prometheus(https://www.percona.com/blog/2020/12/16/percona-monitoring-and-management-migration-from-prometheus-to-victoriametrics-faq/)。 03 VM单节点版 下面模拟2个node-exporter,被Prometheus采集数据,然后Prometheus把数据写到VM远程存储。通过Grafana分别对2种数据源(Prometheus、VictoriaMetrics)进行展示,验证VM的兼容性。最终使用VM完全替换Prometheus,可以达到架构简单、更低的资源占用。
服务名称 IP PORT node-exporter 192.168.1.100 192.168.1.101 9100 Prometheus 192.168.1.102 9090 VM单机版 8428 Grafana 3000 说明: 用VM单机版,可以替换Prometheus,前提是没有用到告警功能,否则还要引入vmalert。下面只是示例,为了好理解整体流程,大多数参数都用的默认值启动,实际线上建议修改部分默认参数。Grafana的Dashboard选了一个官网用的比较多,展示类型相对丰富的,主要是为了验证VM兼容性。 3.1 node-exporter配置 # 在2台主机上分别执行如下命令,来安装node-exporter cd /usr/local wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz tar -xvzf node_exporter-1.2.2.linux-amd64.tar.gz && mv node_exporter-1.2.2.linux-amd64 node_exporter && cd node_exporter nohup ./node_exporter &3.2 Prometheus配置 # 在192.168.1.102主机安装Prometheus cd /usr/local wget https://github.com/prometheus/prometheus/releases/download/v2.30.0/prometheus-2.30.0.linux-amd64.tar.gz tar -xvzf prometheus-2.30.0.linux-amd64.tar.gz && mv prometheus-2.30.0.linux-amd64 prometheus && cd prometheus cat > prometheus.yml > /usr/local/prometheus/prometheus.yml config.yaml |
CopyRight 2018-2019 实验室设备网 版权所有 |